In a typical messaging system, many concurrent clients send and receive messages to and from the messaging system. Often, these clients send only one or just a small number of messages at a time. This interaction pattern between the clients and the messaging system increases system workload and
Independent calls to the message server by different clients increase the number of round-trips to the message server. Each call to the server typically has extra headers or other overhead that needs construction, transfer and processing. This work increases network activity, increases CPU utilization for both the client and server, and reduces the overall system throughput.
In other scenarios, when messages are persisted to a durable store, independent operations by different clients result in more round-trips to the durable store. One or more round-trips may be required per message. Durable stores such as databases and disk systems are generally optimized for small number of bulk or chunky operations. Even though each round-trip involves in just a small amount of I/O operation, an increased number of round-trips results fewer number of message operations on the durable store.